package ink.metoo.gude.module.security.service

import ink.metoo.gude.module.security.domain.dto.LoginDTO
import ink.metoo.gude.module.security.domain.dto.RegisterDTO
import ink.metoo.gude.module.security.domain.dto.RestPasswordDTO
import ink.metoo.gude.module.security.domain.vo.LoginVO

interface AuthService {

    fun register(register: RegisterDTO)

    fun checkEmail(email: String): Boolean

    fun sendVerificationCode(email: String, type: String, subject: String): Boolean

    fun login(login: LoginDTO): LoginVO

    fun restPassword(restPassword: RestPasswordDTO)

}